/*-------------------------------------------------------------------------------
* file:     app_parameter.h
* brief:    application
* copyright Copyright (C) 2020-2022 @ NanoIC
* Date:     2023-09-06
* Version:  V1.00
* Author:   
*-------------------------------------------------------------------------------*/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __APP_PARAMETER_H__
#define __APP_PARAMETER_H__
/* Includes ------------------------------------------------------------------*/
// #include "one_wire_bus_app.h"
#include "app_upgrade.h"
#include "app_key.h" 
#include "common.h" 
#include "sys_console.h"
#include "app_cfg.h"
#include "app_lowpower.h"
#include "app_sleeptimer.h"
#include "app_timer.h"
#include "app_init.h"
/* Private macro-----------------------------------------------------------*/

extern uint8_t pad_cover_state ;
extern uint8_t pad_lcd_state ;
extern uint8_t kb_lock_state ;

extern uint8_t kb_lock_state_flag;
extern uint8_t get_kb_lock_flag;
extern uint8_t get_kb_lock_cnt;
/* Private function--------------------------------------------------------*/

/**
 * @brief 参数设置命令,对子命令进行处理
 * 
 * @param sub_cmd 子命令
 * @param sub_len 子命令数据长度。长度表示的是子数据长度
 * @param pdata 子命令，数据指针。若sub_len为0时，pdata = NULL
 * @param pack  响应命令数据存放指针
 * @param ack_max_len 响应命令最大长度
 * 
 * @return uint8_t : 实际应答数据长度，子命令+子长度+子数据
 */
// uint8_t one_wrie_bus_app_set_parameter_sub_cmd(uint8_t sub_cmd,uint8_t sub_len,uint8_t * pdata,uint8_t * pack,uint8_t ack_max_len);

/**
 * @brief 状态获取命令,对一个具体的命令项处理，输入3Byte，输出最多12Byte
 * 
 * @param cmd 输入具体命令项。
 * @param pack  输出应答数据指针。
 * 
 */
uint8_t one_wrie_bus_app_read_parameter_item(uint8_t cmd,uint8_t * pack);

/**
 * @brief 参数设置命令,对一个具体的命令项处理，输入4Byte，输出4Byte
 * 
 * @param pdata 输入具体命令项数据指针。
 * @param pack  输出应答数据指针。
 * 
 */
uint8_t one_wrie_bus_app_set_parameter_item(uint8_t * pdata,uint8_t * pack);


#endif



